/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.paypaymentdetails.entity;

import com.thinkgem.jeesite.modules.sys.entity.Office;
import javax.validation.constraints.NotNull;
import com.thinkgem.jeesite.modules.employee.entity.Employee;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 薪资实付明细Entity
 * @author zxl
 * @version 2017-08-12
 */
public class PaydayPaymentDetails extends DataEntity<PaydayPaymentDetails> {
	
	private static final long serialVersionUID = 1L;
	private Office office;		// 国家id
	private Office company;		// 企业编号
	private Employee emploee;		// 员工编号
	private Date genDate;		// 统计时间
	private Double qtTotal;		// qt合计
	private String genDateStr;		// 统计时间段
	private Double qtWages;		// qt_工资
	private Double holidaysHours;		// 假期工时
	private Double holidaysWages;		// 假期工资
	private Double standardHours;		// 标准工时
	private Double legalHolidaysHours;		// 节假日工时
	private Double paidAnnualLeaveHours;		// 带薪年假
	private Double paidSickLeaveHours;		// 带薪病假
	private Double tuneOffHours;		// 调休时间
	private Double funeralLeaveHours;		// 丧假
	private Double maternityLeaveHours;		// 产假
	private Double otherHolidaysHours;		// 其它假期
	private Double qtQuarterWages;		// 1.25倍工资
	private Double qtHalfWages;		// 1.5倍工资
	private Double qtTwoWages;		// 2倍工资
	private Double standardWages;		// 平时工资
	private Double qtTwoPointTwoFiveWages;		// 2.5倍工资
	private Double qtThreeWages;		// 3倍工资
	private Double legalHolidaysWages;		// 假期工资
	private Double paidAnnualLeaveWages;		// 带薪年假工资
	private Double paidSickLeaveWages;		// 带薪病假工资
	private Double tuneOffWages;		// 带薪调休工资
	private Double funeralLeaveWages;		// 带薪丧假工资
	private Double maternityLeaveWages;		// 带薪产假工资
	private Double otherHolidaysWages;		// 其它假期工资
	private Double qtQuarterHours;		// 1.25倍工时
	private Double qtHalfHours;		// 1.5倍工资工时
	private Double qtTwoHours;		// 2倍工资工时
	private Double qtTwoPointTwoFiveHours;		// 2.5倍工资工时
	private Double qtThreeHours;		// 3倍工资工时
	private Double totalWages;		// 应支付总工资
	private Double hourlyStandard;		// 时薪标准
	private Double vatRate;		// 增值税率
	private Double actuPayWages;		// 实际支付工资
	private Double employerCost;		// 雇主成本
	private Double employerCostRmb;		// employer_cost_rmb
	
	public PaydayPaymentDetails() {
		super();
	}

	public PaydayPaymentDetails(String id){
		super(id);
	}

	@NotNull(message="国家id不能为空")
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}
	
	@NotNull(message="企业编号不能为空")
	public Office getCompany() {
		return company;
	}

	public void setCompany(Office company) {
		this.company = company;
	}
	
	@NotNull(message="员工编号不能为空")
	public Employee getEmploee() {
		return emploee;
	}

	public void setEmploee(Employee emploee) {
		this.emploee = emploee;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="统计时间不能为空")
	public Date getGenDate() {
		return genDate;
	}

	public void setGenDate(Date genDate) {
		this.genDate = genDate;
	}
	
	public Double getQtTotal() {
		return qtTotal;
	}

	public void setQtTotal(Double qtTotal) {
		this.qtTotal = qtTotal;
	}
	
	@Length(min=0, max=255, message="统计时间段长度必须介于 0 和 255 之间")
	public String getGenDateStr() {
		return genDateStr;
	}

	public void setGenDateStr(String genDateStr) {
		this.genDateStr = genDateStr;
	}
	
	public Double getQtWages() {
		return qtWages;
	}

	public void setQtWages(Double qtWages) {
		this.qtWages = qtWages;
	}
	
	public Double getHolidaysHours() {
		return holidaysHours;
	}

	public void setHolidaysHours(Double holidaysHours) {
		this.holidaysHours = holidaysHours;
	}
	
	public Double getHolidaysWages() {
		return holidaysWages;
	}

	public void setHolidaysWages(Double holidaysWages) {
		this.holidaysWages = holidaysWages;
	}
	
	public Double getStandardHours() {
		return standardHours;
	}

	public void setStandardHours(Double standardHours) {
		this.standardHours = standardHours;
	}
	
	public Double getLegalHolidaysHours() {
		return legalHolidaysHours;
	}

	public void setLegalHolidaysHours(Double legalHolidaysHours) {
		this.legalHolidaysHours = legalHolidaysHours;
	}
	
	public Double getPaidAnnualLeaveHours() {
		return paidAnnualLeaveHours;
	}

	public void setPaidAnnualLeaveHours(Double paidAnnualLeaveHours) {
		this.paidAnnualLeaveHours = paidAnnualLeaveHours;
	}
	
	public Double getPaidSickLeaveHours() {
		return paidSickLeaveHours;
	}

	public void setPaidSickLeaveHours(Double paidSickLeaveHours) {
		this.paidSickLeaveHours = paidSickLeaveHours;
	}
	
	public Double getTuneOffHours() {
		return tuneOffHours;
	}

	public void setTuneOffHours(Double tuneOffHours) {
		this.tuneOffHours = tuneOffHours;
	}
	
	public Double getFuneralLeaveHours() {
		return funeralLeaveHours;
	}

	public void setFuneralLeaveHours(Double funeralLeaveHours) {
		this.funeralLeaveHours = funeralLeaveHours;
	}
	
	public Double getMaternityLeaveHours() {
		return maternityLeaveHours;
	}

	public void setMaternityLeaveHours(Double maternityLeaveHours) {
		this.maternityLeaveHours = maternityLeaveHours;
	}
	
	public Double getOtherHolidaysHours() {
		return otherHolidaysHours;
	}

	public void setOtherHolidaysHours(Double otherHolidaysHours) {
		this.otherHolidaysHours = otherHolidaysHours;
	}
	
	public Double getQtQuarterWages() {
		return qtQuarterWages;
	}

	public void setQtQuarterWages(Double qtQuarterWages) {
		this.qtQuarterWages = qtQuarterWages;
	}
	
	public Double getQtHalfWages() {
		return qtHalfWages;
	}

	public void setQtHalfWages(Double qtHalfWages) {
		this.qtHalfWages = qtHalfWages;
	}
	
	public Double getQtTwoWages() {
		return qtTwoWages;
	}

	public void setQtTwoWages(Double qtTwoWages) {
		this.qtTwoWages = qtTwoWages;
	}
	
	public Double getStandardWages() {
		return standardWages;
	}

	public void setStandardWages(Double standardWages) {
		this.standardWages = standardWages;
	}
	
	public Double getQtTwoPointTwoFiveWages() {
		return qtTwoPointTwoFiveWages;
	}

	public void setQtTwoPointTwoFiveWages(Double qtTwoPointTwoFiveWages) {
		this.qtTwoPointTwoFiveWages = qtTwoPointTwoFiveWages;
	}
	
	public Double getQtThreeWages() {
		return qtThreeWages;
	}

	public void setQtThreeWages(Double qtThreeWages) {
		this.qtThreeWages = qtThreeWages;
	}
	
	public Double getLegalHolidaysWages() {
		return legalHolidaysWages;
	}

	public void setLegalHolidaysWages(Double legalHolidaysWages) {
		this.legalHolidaysWages = legalHolidaysWages;
	}
	
	public Double getPaidAnnualLeaveWages() {
		return paidAnnualLeaveWages;
	}

	public void setPaidAnnualLeaveWages(Double paidAnnualLeaveWages) {
		this.paidAnnualLeaveWages = paidAnnualLeaveWages;
	}
	
	public Double getPaidSickLeaveWages() {
		return paidSickLeaveWages;
	}

	public void setPaidSickLeaveWages(Double paidSickLeaveWages) {
		this.paidSickLeaveWages = paidSickLeaveWages;
	}
	
	public Double getTuneOffWages() {
		return tuneOffWages;
	}

	public void setTuneOffWages(Double tuneOffWages) {
		this.tuneOffWages = tuneOffWages;
	}
	
	public Double getFuneralLeaveWages() {
		return funeralLeaveWages;
	}

	public void setFuneralLeaveWages(Double funeralLeaveWages) {
		this.funeralLeaveWages = funeralLeaveWages;
	}
	
	public Double getMaternityLeaveWages() {
		return maternityLeaveWages;
	}

	public void setMaternityLeaveWages(Double maternityLeaveWages) {
		this.maternityLeaveWages = maternityLeaveWages;
	}
	
	public Double getOtherHolidaysWages() {
		return otherHolidaysWages;
	}

	public void setOtherHolidaysWages(Double otherHolidaysWages) {
		this.otherHolidaysWages = otherHolidaysWages;
	}
	
	public Double getQtQuarterHours() {
		return qtQuarterHours;
	}

	public void setQtQuarterHours(Double qtQuarterHours) {
		this.qtQuarterHours = qtQuarterHours;
	}
	
	public Double getQtHalfHours() {
		return qtHalfHours;
	}

	public void setQtHalfHours(Double qtHalfHours) {
		this.qtHalfHours = qtHalfHours;
	}
	
	public Double getQtTwoHours() {
		return qtTwoHours;
	}

	public void setQtTwoHours(Double qtTwoHours) {
		this.qtTwoHours = qtTwoHours;
	}
	
	public Double getQtTwoPointTwoFiveHours() {
		return qtTwoPointTwoFiveHours;
	}

	public void setQtTwoPointTwoFiveHours(Double qtTwoPointTwoFiveHours) {
		this.qtTwoPointTwoFiveHours = qtTwoPointTwoFiveHours;
	}
	
	public Double getQtThreeHours() {
		return qtThreeHours;
	}

	public void setQtThreeHours(Double qtThreeHours) {
		this.qtThreeHours = qtThreeHours;
	}
	
	public Double getTotalWages() {
		return totalWages;
	}

	public void setTotalWages(Double totalWages) {
		this.totalWages = totalWages;
	}
	
	@NotNull(message="时薪标准不能为空")
	public Double getHourlyStandard() {
		return hourlyStandard;
	}

	public void setHourlyStandard(Double hourlyStandard) {
		this.hourlyStandard = hourlyStandard;
	}
	
	@NotNull(message="增值税率不能为空")
	public Double getVatRate() {
		return vatRate;
	}

	public void setVatRate(Double vatRate) {
		this.vatRate = vatRate;
	}
	
	public Double getActuPayWages() {
		return actuPayWages;
	}

	public void setActuPayWages(Double actuPayWages) {
		this.actuPayWages = actuPayWages;
	}
	
	public Double getEmployerCost() {
		return employerCost;
	}

	public void setEmployerCost(Double employerCost) {
		this.employerCost = employerCost;
	}
	
	public Double getEmployerCostRmb() {
		return employerCostRmb;
	}

	public void setEmployerCostRmb(Double employerCostRmb) {
		this.employerCostRmb = employerCostRmb;
	}
	
}